/*
 程序作者: 魏宇蓝
 完成日期: 2014 年 4 月 3 日
 章    节: 第 5 章
 题    号: 习题6
 题    目: 设计一个名为Studentinfo 的类，该类具有如下数据成员：
             学生名：char* 指针。
             学号：10个字符，采用数组表示。
             专业：采用字符数组表示，如计算机专业，管理专业等。
           编写适当的函数成员，能操作上述数据成员。注意：在构造函
           数中对学生名分配空间，在析构函数中释放空间。
           
           另外再设计一个Grades类，该类是Studentinfo 的子类，其数
           据成员能存储如下信息：
             考试成绩：这是float 类型的数组，具有6 个元素。
             平均成绩：上述6 门功课的平均成绩。
           编写适当的函数成员，能存储和获取上述数据成员的信息。
           
           编程：定义一个Grades类的对象数组，用户输入没个对象的信
           息，能正确输出每个学生的平均成绩。
             
           输入数据的有效性检验：每门功课的成绩不能小于0 ，也不能
           大于100。
*/
#include <iostream>
#include "Grades.cpp"
using namespace std;
int main()
{
	float grade[6]={0,0,0,0,0,0};
	int i;
	Grades test((char*)"Stdio",(char*)"1234567890",(char*)"Info. Secu.",grade);
	do
	{
		cout<<"Input the grades:";
		for(i=0;i<=5;i++)
			cin>>grade[i];
		test.setGrade(grade);
	}while((!test.ifValid())&&(cout<<"Data Invalid!"<<endl));
	cout<<"The average score is "<<test.getAverage()<<endl;
	return 0;
}